package com.cat.chapter037;

/**
 * @author cat
 * @description https://leetcode.cn/problems/trim-a-binary-search-tree/
 * @create 2025/6/24 17:27
 * @since JDK17
 */

public class Solution05 {
    public TreeNode trimBST(TreeNode root, int low, int high) {
        if (root == null) {
            return null;
        }

        if (root.val >= low && root.val <= high) {
            root.left = trimBST(root.left, low, high);
            root.right = trimBST(root.right, low, high);
            return root;
        }
        if (root.val < low) {
            return trimBST(root.right, low, high);
        }
        if (root.val > high) {
            return trimBST(root.left, low, high);
        }
        return null;
    }
}
